Dart 入门学习笔记
- main方法是固定写法,是程序入口
- print 方法可以在控制台输出内容
数据类型
变量与常量
变量:
- 使用 var 声明变量,可赋予不同类型的值
- 未初始化时,默认值为 null
- 使用 final 声明一个只能赋值一次的变量
常量:
- 使用 const 声明常量
- 使用 const 声明的必须是编译期常量
数值类型
内置类型:
数值类型-Number
使用 num 声明数值类型
使用 Int 声明整型
使用 double 声明 浮点型
数值类型操作:
运算符:
- `+`
- `-`
- `*`
- `/`
- `~/`
取整
- `%`
取余
常用属性:
- isNaN
NaN = 0.0/0.0 - isEven
- isOdd
常用方法: - abs()
绝对值 - round()
四舍五入 - floor()
不大于操作数的最大整数(向下取整) - ceil()
不小于操作数的最小整数(向上取整) - toInt()
浮点型转为整型 - toDouble()
整型转为浮点型
字符串-String
字符串创建:
- 使用单引号、双引号创建字符串
- 使用三个引号或者双引号创建多行字符串
- 使用r创建原始raw字符串
1
2
3
4
5
6
7String str = 'Hello \n Dart'
String str1 = 'Hello \n Dart'
print(str)
// Hello
// Dart
print(str1)
// Hello \n Dart
字符串操作:
- 运算符:
+
拼接字符串*
- 复制并拼接
==
判断字符串是否相等[]
下标去字符串,类似于JavaScript字符串数组
插值表达式:
${expression}
用法类似 JavaScript
不过如果表达式只有一个变量可简写为$var
,省略{}常用属性:
length
isEmpty
isNotEmpty
常用方法:
- contains() 判断是否包含特定字符串 subString() 截取指定位置的字符串,类似JavaScript
- startsWith() 判断是否以特定字符串为开始 endWith() 判断是否以特定字符串为结束
- indexOf() 从头开始取字符串下标 lastIndexOf() 从尾部开始取字符串下标
- toLowerCase() 转化为小写 toUpperCase() 转化为大写
- trim() tyimLeft() trimRight()
- split() 类似JavaScript replaceXXX()
布尔类型-Boolean
使用 bool 声明布尔类型列表-List
创建List:var list = [1,2,3];
创建不可变的List:var list = const [1,2,3];
构造创建List:var list = new List();
常用操作:
- [] 获取和修改 length
- add() insert()
- remove() clear()
- indexOf() lastIndexOf()
- sort() sublist()
- shuffle() asMap() forEach()
键值对-Map
创建Map:var language = {'first': 'Dart', 'second': 'Java'};
创建不可变Map:var language = const {'first': 'Dart', 'second': 'Java'};
构建创建:var language=new Map();
常用操作:
- [] 获取和修改 length
- isEmpty() isNotEmpty()
- keys,values
- containsKey(), constainsValue()
- remove()
- forEach()
dynamic
Runes
Symbols
运算符
算术运算符
+
-
*
/
~/
关系运算符
==
判断内容是否相同!=
>
<
>=
<=
逻辑运算符
!
&&
||
赋值运算符
基础运算符:
=
??=
符合运算符:
+=
-=
*=
/=
%=
~/=
条件表达式
- 三目运算符:
condition ? expr1 : expr2
- ??运算符:
expr1??expr2
控制语句
条件语句:
if
if...else if
- if...else if...else
for语句:
for
for...in
while语句:
while
do...while
终止循环:break
跳出当前循环: continue
switch...case
- 比较类型:
num
,String
, 编译期常量,对象,枚举 - 非空的
case
语句必须有一个break
default
处理默认情况continue
跳转标签
Function
方法定义:
可选参数:
- 可选命名参数:
{param1,param2}
命名参数必须在可选参数后面 - 可选位置参数:
[param1,param2]
默认参数值:
- 使用
=
在可选参数指定默认值 - 默认值只能是编译期的常量
方法对象:
- 方法可作为对象赋值给其他变量
- 方法可作为参数传递给其他方法
匿名方法:
- 可赋值给变量,通过变量进行调用。
- 可在其他方法中直接调用或传递给其他方法